1. Field of the Invention
The invention relates to data communication systems and more particularly to an input/output interface interconnecting a data processing system with peripheral devices.
2. Description of the Prior Art
Data processing systems include data channels which control the simultaneous exchange of data between many input/output (I/O) devices and common shared storage. The input/output devices are attached to the data channel through a number of control units. The control unit adapts the characteristics of different I/O devices to a standard form of control and transfers data and control information to the data channel over a common shared I/O interface on a time division multiplex basis. In order to accommodate computer installations wherein a varying number of control units may be attached to the interface cable, an asynchronous control is necessary because the length of cables varies. Also, since more than one control unit may contend for access to the shared data bus, priority levels must be assigned to the control units and means must be provided for resolving priority among contending control units.
One of the most widely used asynchronous interfaces is the IBM System/360 I/O interface which is described in an IBM Systems Reference Library Manual entitled "IBM System/360 I/O Interface Channel to Control Unit" Form A22-6843-3. The IBM System/360 I/O interface provides a data information format and a control signal sequence definition which is common to all control units attached to a data channel. The rise and fall of all signals transmitted in one direction over the interface are controlled by interlocked responses in the opposite direction.
Control unit selection and priority determination is controlled by a "select out" line which forms a chain from the channel through each control unit to a cable terminator. A selection priority is established by the position of a control unit on the cable. Thus, the control unit closest to the channel end of the cable has the highest priority whereas the control unit farthest from the channel has the lowest priority. Priority can be changed only by changing the position of a control unit on the cable by either physically moving the control unit or by rerouting the cables between control units. A selection priority is established because the rise of "select out" is effective only to the first control unit in the chain. If a control unit does not require service the "select out" line is propagated to the next control unit down the cable. The priority is thus in a descending sequence from the channel through each control unit.
When any control unit requires service it raises "request in" to the data channel. The channel raises "select out" which is propagated from the highest priority control unit to the lowest until a control unit intercepts the select out line and seizes priority. The control unit thus granted priority places the address of the I/O device on "bus in" and raises both "address in" and "operational in". When the channel recognizes the address, a "command out" line is energized to the control unit indicating that the control unit can proceed. After the control unit has dropped "address in" the channel responds by dropping "command out" thus ending the control unit initiated sequence. Separate sequences are utilized for data transfer operations and for status information transfer operations.
The data transfer rate on an interface of this type is limited to the speed of the circuits and the length of the cable connecting the channel with the control unit.
Furthermore the above-described interface has the disadvantage that the priority assignment for control units is fixed by the position of the control unit and cannot be easily altered.